package com.dys.processcontrol.substructure;

import java.util.Scanner;

/**
 * @className: com.dys.processcontrol.substructure.MemberTest
 * @description: 分支嵌套：会员购物，不同积分享受不同的折扣
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/06/18 下午9:19
 */
public class IfNestedTest {

    public static void main(String[] args) {
        moveTheTable2();
    }

    /**
     * 会员购物，不同积分享受不同的折扣
     */
    public static void shoppingDiscount() {
        // 1.给出会员积分
        int x = 2000;

        // 2.判断积分等级享受的折扣
        if (x >= 8000) {
            System.out.println("享受6折折扣");
        } else if (x >= 4000) {
            System.out.println("享受7折折扣");
        } else if (x >= 2000) {
            System.out.println("享受8折折扣");
        } else {
            System.out.println("享受9折折扣");
        }
    }

    /**
     * 键盘录入会员积分：会员购物，不同积分享受不同的折扣
     */
    public static void shoppingDiscount1() {
        // 1.给出积分
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入会员积分：");
        int x = sc.nextInt();

        // 2.根据给出的积分判断折扣
        if (x >= 8000) {
            System.out.println("该会员享受的折扣是: 0.6");
        } else if (x >= 4000) {
            System.out.println("该会员享受的折扣是: 0.7");
        } else if (x >= 2000) {
            System.out.println("该会员享受的折扣是: 0.8");
        } else {
            System.out.println("该会员享受的折扣是: 0.9");
        }

    }

    /**
     * 上面代码存在2个问题：1.录入非int类型的数 2.录入负数 3.System.out.println("")打印多次
     * 键盘录入会员积分：会员购物，不同积分享受不同的折扣
     */
    public static void shoppingDiscount2() {
        // 1.给出积分
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入会员积分：");
        // 先判断键盘录入的数是不是int类型的数字
        if (sc.hasNextInt() == true) {
            int x = sc.nextInt();
            // 判断这个积分是否为正数
            if (x > 0) {
                double discount = 0.0;
                // 2.根据给出的积分判断折扣
                if (x >= 8000) {
                    discount = 0.6;
                } else if (x >= 4000) {
                    discount = 0.7;
                } else if (x >= 2000) {
                    discount = 0.8;
                } else {
                    discount = 0.9;
                }
                System.out.println("该会员享受的折扣是: " + discount);
            } else {
                // x<0
                System.out.println("对不起，你录入的积分是负数，不符合需求！");
            }
        } else {// 不是int类型的数据
            System.out.println("你录入的积分不是整数!");
        }
    }

    /**
     * 小朋友搬桌子：年龄大于7岁，可以搬桌子
     * 年龄大于5岁，性别是男，可以搬桌子
     * 否则不可以搬动桌子，提示：你还太小了
     */
    public static void moveTheTable() {

        // 1.输入小朋友的年龄
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入小朋友的年龄：");
        if (sc.hasNextInt() == true) {
            int age = sc.nextInt();
            if (age > 0) {
                // 2.根据小朋友的年龄，判断是否可以搬桌子
                if (age > 7) {
                    System.out.println("可以搬桌子");
                } else if (age > 5) {
                    System.out.println("请输入小朋友的性别：");
                    char sex = sc.next().charAt(0);
                    if (sex == '男') {
                        System.out.println("男孩，可以搬桌子");
                    } else {
                        System.out.println("女孩，不能搬桌子");
                    }
                } else { // age<=5
                    System.out.println("不可以搬桌子，你还太小了");
                }
            } else {
                // age<0
                System.out.println("对不起，你录入的年龄为负数，不符合要求");
            }
        } else {
            // 非int类型
            System.out.println("你录入的性别不是整数。");
        }
    }

    /**
     * 小朋友搬桌子：年龄大于7岁，可以搬桌子
     * 年龄大于5岁，性别是男，可以搬桌子
     * 否则不可以搬动桌子，提示：你还太小了
     */
    public static void moveTheTable2() {

        // 1.输入小朋友的年龄
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入小朋友的年龄：");
        if (sc.hasNextInt() == true) {
            int age = sc.nextInt();
            if (age > 0) {
                // 2.根据小朋友的年龄，判断是否可以搬桌子
                if (age > 7) {
                    System.out.println("可以搬桌子");
                } else if (age > 5) {
                    System.out.println("请输入小朋友的性别：1: 男，0: 女");
                    int sex = sc.nextInt();
                    if (sex == 1) {
                        System.out.println("男孩，可以搬桌子");
                    } else {
                        System.out.println("女孩，不能搬桌子");
                    }
                } else { // age<=5
                    System.out.println("不可以搬桌子，你还太小了");
                }
            } else {
                // age<0
                System.out.println("对不起，你录入的年龄为负数，不符合要求");
            }
        } else {
            // 非int类型
            System.out.println("你录入的性别不是整数。");
        }

    }
}
